Claude-skill-registry-data manage-references
Manage references.toon files with field-level access and list management
git clone https://github.com/majiayu000/claude-skill-registry-data
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry-data "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/manage-references" ~/.claude/skills/majiayu000-claude-skill-registry-data-manage-references && rm -rf "$T"
data/manage-references/SKILL.mdManage References Skill
Manage references.toon files with field-level access and list management. Tracks files, branches, and external references for a plan.
What This Skill Provides
- Read/write references.toon
- Field-level get/set operations
- List management (add/remove items)
- File tracking for modified files
When to Activate This Skill
Activate this skill when:
- Setting branch or issue references
- Adding modified files to tracking
- Managing external documentation references
Storage Location
References are stored in the plan directory:
.plan/plans/{plan_id}/references.toon
File Format
TOON format with scalar and list fields:
# Plan References branch: feature/my-feature issue_url: https://github.com/org/repo/issues/123 build_system: maven modified_files[3]: - src/main/java/Foo.java - src/main/java/Bar.java - src/test/java/FooTest.java external_docs[1]{title,url}: JWT Guide,https://jwt.io/introduction
Schema Fields
| Field | Type | Description |
|---|---|---|
| string | Git branch name |
| string | Base branch for PR (e.g., main) |
| string | GitHub issue URL |
| string | Build system (maven, gradle, npm, none) |
| list | Files modified during implementation |
| list | Configuration files changed |
| list | Test files created/modified |
| list | Plan domains (e.g., java, documentation) |
| table | External documentation references |
| list | Files affected during outline phase (for execution tracking) |
Operations
Script:
pm-workflow:manage-references:manage-references
create
Create references.toon with basic fields.
python3 .plan/execute-script.py pm-workflow:manage-references:manage-references create \ --plan-id {plan_id} \ --branch {branch_name} \ [--issue-url {url}] \ [--build-system {maven|gradle|npm}] \ [--domains {java,documentation}]
Parameters:
(required): Plan identifier (kebab-case)--plan-id
(required): Git branch name--branch
: GitHub issue URL--issue-url
: Build system (--build-system
,maven
,gradle
)npm
: Comma-separated domain list (e.g.,--domains
)java,documentation
Output (TOON):
status: success plan_id: my-feature file: references.toon created: true fields: - branch - base_branch - modified_files - config_files - test_files
Note: Basic fields are created during plan-init. Additional reference fields are added as needed during execution.
read
Read entire references.toon content.
python3 .plan/execute-script.py pm-workflow:manage-references:manage-references read \ --plan-id {plan_id}
Output (TOON):
status: success plan_id: my-feature references: branch: feature/my-feature issue_url: https://github.com/org/repo/issues/123 modified_files: 3 items
get
Get a specific field value.
python3 .plan/execute-script.py pm-workflow:manage-references:manage-references get \ --plan-id {plan_id} \ --field branch
Output (TOON):
status: success plan_id: my-feature field: branch value: feature/my-feature
set
Set a specific field value.
python3 .plan/execute-script.py pm-workflow:manage-references:manage-references set \ --plan-id {plan_id} \ --field branch \ --value feature/new-branch
Output (TOON):
status: success plan_id: my-feature field: branch value: feature/new-branch previous: feature/my-feature
add-file
Add a file to modified_files list.
python3 .plan/execute-script.py pm-workflow:manage-references:manage-references add-file \ --plan-id {plan_id} \ --file src/main/java/NewClass.java
Output (TOON):
status: success plan_id: my-feature section: modified_files added: src/main/java/NewClass.java total: 4
remove-file
Remove a file from modified_files list.
python3 .plan/execute-script.py pm-workflow:manage-references:manage-references remove-file \ --plan-id {plan_id} \ --file src/main/java/OldClass.java
Output (TOON):
status: success plan_id: my-feature section: modified_files removed: src/main/java/OldClass.java total: 2
add-list
Add multiple values to a list field.
python3 .plan/execute-script.py pm-workflow:manage-references:manage-references add-list \ --plan-id {plan_id} \ --field affected_files \ --values "path/to/file1.md,path/to/file2.md,path/to/file3.md"
Parameters:
(required): Plan identifier--plan-id
(required): List field name (e.g.,--field
,affected_files
)modified_files
(required): Comma-separated values to add--values
Output (TOON):
status: success plan_id: my-feature field: affected_files added_count: 3 total: 3
Notes:
- Creates the field as an empty list if it doesn't exist
- Skips values that already exist in the list (no duplicates)
- Returns error if the field exists but is not a list
set-list
Set a list field to new values, replacing any existing content.
python3 .plan/execute-script.py pm-workflow:manage-references:manage-references set-list \ --plan-id {plan_id} \ --field affected_files \ --values "path/to/file1.md,path/to/file2.md"
Parameters:
(required): Plan identifier--plan-id
(required): List field name (e.g.,--field
,affected_files
)modified_files
(required): Comma-separated values--values
Output (TOON):
status: success plan_id: my-feature field: affected_files previous_count: 5 count: 2
Notes:
- Replaces the entire list (does not append like
)add-list - Empty
clears the list--values "" - Returns
showing how many items were replacedprevious_count
When to use
vs set-list
:add-list
- Use
when you have the complete list of values to storeset-list - Use
when appending to an existing list without knowing its contentsadd-list
get-context
Get all references context in one call. Useful for getting comprehensive plan context.
python3 .plan/execute-script.py pm-workflow:manage-references:manage-references get-context \ --plan-id {plan_id} \ [--include-files]
Parameters:
(required): Plan identifier--plan-id
: Include full file lists in output (default: only counts)--include-files
Output (TOON):
status: success plan_id: my-feature branch: feature/my-feature base_branch: main modified_files_count: 3 config_files_count: 1 test_files_count: 2 issue_url: https://github.com/org/repo/issues/123 build_system: maven
With
--include-files:
status: success plan_id: my-feature branch: feature/my-feature base_branch: main modified_files_count: 3 config_files_count: 1 test_files_count: 2 modified_files: - src/main/java/Foo.java - src/main/java/Bar.java - src/main/java/Baz.java config_files: - pom.xml test_files: - src/test/java/FooTest.java - src/test/java/BarTest.java
Scripts
Script:
pm-workflow:manage-references:manage-references
| Command | Parameters | Description |
|---|---|---|
| | Create references.toon |
| | Read entire references |
| | Get specific field value |
| | Set specific field value |
| | Add file to modified_files |
| | Remove file from modified_files |
| | Add multiple values to a list field |
| | Set a list field (replaces existing) |
| | Get all references context |
Error Handling
status: error plan_id: my-feature error: file_not_found message: references.toon not found
Integration Points
With plan-execute
Execution phase adds modified files as work progresses.
With plan-finalize
Finalization reads modified files for commit/PR creation.