agnostic-prompt-aps 1.1.2__py3-none-any.whl → 1.1.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. {agnostic_prompt_aps-1.1.2.dist-info → agnostic_prompt_aps-1.1.4.dist-info}/METADATA +36 -5
  2. {agnostic_prompt_aps-1.1.2.dist-info → agnostic_prompt_aps-1.1.4.dist-info}/RECORD +28 -24
  3. {agnostic_prompt_aps-1.1.2.dist-info → agnostic_prompt_aps-1.1.4.dist-info}/WHEEL +1 -1
  4. {agnostic_prompt_aps-1.1.2.dist-info → agnostic_prompt_aps-1.1.4.dist-info}/entry_points.txt +1 -0
  5. aps_cli/__init__.py +1 -1
  6. aps_cli/__main__.py +5 -0
  7. aps_cli/cli.py +43 -53
  8. aps_cli/core.py +32 -25
  9. aps_cli/payload/agnostic-prompt-standard/SKILL.md +1 -2
  10. aps_cli/payload/agnostic-prompt-standard/assets/constants/constants-json-block-v1.0.0.example.md +3 -3
  11. aps_cli/payload/agnostic-prompt-standard/platforms/README.md +7 -1
  12. aps_cli/payload/agnostic-prompt-standard/platforms/_schemas/platform-manifest.schema.json +83 -10
  13. aps_cli/payload/agnostic-prompt-standard/platforms/_template/README.md +0 -2
  14. aps_cli/payload/agnostic-prompt-standard/platforms/_template/manifest.json +1 -2
  15. aps_cli/payload/agnostic-prompt-standard/platforms/claude-code/README.md +247 -0
  16. aps_cli/payload/agnostic-prompt-standard/platforms/claude-code/frontmatter/agent-frontmatter.md +98 -0
  17. aps_cli/payload/agnostic-prompt-standard/platforms/claude-code/frontmatter/rules-frontmatter.md +47 -0
  18. aps_cli/payload/agnostic-prompt-standard/platforms/claude-code/manifest.json +71 -0
  19. aps_cli/payload/agnostic-prompt-standard/platforms/claude-code/tools-registry.json +300 -0
  20. aps_cli/payload/agnostic-prompt-standard/platforms/vscode-copilot/README.md +3 -11
  21. aps_cli/payload/agnostic-prompt-standard/platforms/vscode-copilot/frontmatter/agent-frontmatter.md +1 -1
  22. aps_cli/payload/agnostic-prompt-standard/platforms/vscode-copilot/frontmatter/instructions-frontmatter.md +0 -1
  23. aps_cli/payload/agnostic-prompt-standard/platforms/vscode-copilot/manifest.json +0 -1
  24. aps_cli/payload/agnostic-prompt-standard/references/03-agentic-control.md +55 -14
  25. aps_cli/payload/agnostic-prompt-standard/references/04-schemas-and-types.md +0 -3
  26. aps_cli/payload/agnostic-prompt-standard/references/05-grammar.md +5 -3
  27. aps_cli/payload/agnostic-prompt-standard/assets/agents/vscode-agent-v1.0.0.agent.md +0 -187
  28. aps_cli/payload/agnostic-prompt-standard/platforms/vscode-copilot/templates/AGENTS.md +0 -7
  29. {agnostic_prompt_aps-1.1.2.dist-info → agnostic_prompt_aps-1.1.4.dist-info}/licenses/LICENSE +0 -0
  30. {agnostic_prompt_aps-1.1.2.dist-info → agnostic_prompt_aps-1.1.4.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,247 @@
1
+ # Claude Code CLI adapter
2
+
3
+ This adapter documents **how APS fits into Claude Code's configuration system**.
4
+
5
+ ## What this adapter provides
6
+
7
+ - `manifest.json` — file conventions, docs links, hooks/imports/permissions
8
+ - `tools-registry.json` — built-in tools with risk levels and capabilities
9
+ - `frontmatter/` — YAML templates for rules and subagents
10
+
11
+ ## Quickstart
12
+
13
+ 1. Install this APS skill into your repo at:
14
+ - `.github/skills/agnostic-prompt-standard/`
15
+ - OR `.claude/skills/agnostic-prompt-standard/`
16
+
17
+ ## Claude Code file locations (summary)
18
+
19
+ Claude Code discovers these files:
20
+
21
+ ### Memory (instructions)
22
+ - `./CLAUDE.md` — project-level memory (checked into repo)
23
+ - `./.claude/CLAUDE.md` — alternative project memory location
24
+ - `./.claude/rules/*.md` — path-scoped rules with glob patterns
25
+ - `./CLAUDE.local.md` — local overrides (gitignored)
26
+ - `~/.claude/CLAUDE.md` — user-level memory
27
+ - `~/.claude/rules/*.md` — user-level rules
28
+
29
+ ### Settings
30
+ - `./.claude/settings.json` — project settings (checked into repo)
31
+ - `./.claude/settings.local.json` — local settings (gitignored)
32
+ - `~/.claude/settings.json` — user settings
33
+
34
+ ### Custom subagents
35
+ - `./.claude/agents/*.md` — project-level subagents
36
+ - `~/.claude/agents/*.md` — user-level subagents (all projects)
37
+
38
+ ### MCP servers
39
+ - `./.mcp.json` — MCP server configuration
40
+
41
+ See `manifest.json` for the full matrix.
42
+
43
+ ## Memory hierarchy
44
+
45
+ Claude Code loads memory in this order (later overrides earlier):
46
+
47
+ 1. **Enterprise** — managed by organization admins
48
+ 2. **Project** — `./CLAUDE.md`, `./.claude/CLAUDE.md`
49
+ 3. **Rules** — `./.claude/rules/*.md` (path-scoped)
50
+ 4. **User** — `~/.claude/CLAUDE.md`, `./CLAUDE.local.md`
51
+
52
+ ## @path imports
53
+
54
+ Claude Code supports importing file content using `@path` syntax:
55
+
56
+ ```markdown
57
+ @README.md
58
+ @docs/architecture.md
59
+ @~/.claude/shared-rules.md
60
+ ```
61
+
62
+ The referenced file content is injected into the memory context.
63
+
64
+ ## Path-scoped rules
65
+
66
+ Rules in `.claude/rules/*.md` can be scoped to specific paths using frontmatter:
67
+
68
+ ```yaml
69
+ ---
70
+ paths:
71
+ - "src/**/*.ts"
72
+ - "src/**/*.tsx"
73
+ ---
74
+ ```
75
+
76
+ When a rule has `paths:` frontmatter, it only applies when working with files matching those globs.
77
+
78
+ ## Hooks system
79
+
80
+ Claude Code supports hooks that execute shell commands at various lifecycle events:
81
+
82
+ | Hook | When it fires |
83
+ |------|---------------|
84
+ | PreToolUse | Before a tool executes |
85
+ | PostToolUse | After a tool executes |
86
+ | PermissionRequest | When permission is needed |
87
+ | Stop | When Claude stops |
88
+ | SubagentStop | When a subagent stops |
89
+ | UserPromptSubmit | When user submits a prompt |
90
+ | SessionStart | When a session begins |
91
+ | SessionEnd | When a session ends |
92
+ | PreCompact | Before context compaction |
93
+ | Notification | When a notification fires |
94
+
95
+ Configure hooks in `.claude/settings.json`:
96
+
97
+ ```json
98
+ {
99
+ "hooks": {
100
+ "PreToolUse": [
101
+ {
102
+ "matcher": "Bash",
103
+ "command": "echo 'About to run bash'"
104
+ }
105
+ ]
106
+ }
107
+ }
108
+ ```
109
+
110
+ ## Permission rules
111
+
112
+ Control tool permissions in `.claude/settings.json`:
113
+
114
+ ```json
115
+ {
116
+ "permissions": {
117
+ "allow": [
118
+ "Read",
119
+ "Glob",
120
+ "Grep"
121
+ ],
122
+ "deny": [
123
+ "Bash(rm -rf *)"
124
+ ],
125
+ "ask": [
126
+ "Write",
127
+ "Edit"
128
+ ]
129
+ }
130
+ }
131
+ ```
132
+
133
+ ## Custom subagents
134
+
135
+ Claude Code supports custom subagents — specialized agents with their own instructions, tool permissions, and behaviors. Subagents are invoked via the `Task` tool when their description matches the user's request.
136
+
137
+ ### Subagent file locations
138
+
139
+ | Location | Scope |
140
+ |----------|-------|
141
+ | `.claude/agents/*.md` | Project-level |
142
+ | `~/.claude/agents/*.md` | User-level (all projects) |
143
+ | `plugins/agents/` | Plugin-provided |
144
+ | `--agents` CLI flag | Session-only |
145
+
146
+ ### Subagent frontmatter fields
147
+
148
+ | Field | Required | Type | Description |
149
+ |-------|----------|------|-------------|
150
+ | `name` | Yes | String | Unique identifier (lowercase, hyphens) |
151
+ | `description` | Yes | String | Triggers when Claude recognizes this description |
152
+ | `model` | No | String | AI model: `sonnet`, `opus`, `haiku`, `inherit` (default: sonnet) |
153
+ | `tools` | No | Comma-separated | Allowed tools (allowlist) |
154
+ | `disallowedTools` | No | Comma-separated | Denied tools (denylist) |
155
+ | `permissionMode` | No | String | Permission handling mode |
156
+ | `skills` | No | Comma-separated | Skills to inject |
157
+ | `hooks` | No | Object | Lifecycle hooks (PreToolUse, PostToolUse, Stop) |
158
+
159
+ ### Permission modes
160
+
161
+ | Mode | Description |
162
+ |------|-------------|
163
+ | `default` | Normal permission prompts |
164
+ | `acceptEdits` | Auto-accept file edits |
165
+ | `dontAsk` | Minimal prompts |
166
+ | `bypassPermissions` | Skip all prompts (use with caution) |
167
+ | `plan` | Plan mode — research only, no edits |
168
+
169
+ ### Subagent example
170
+
171
+ ```yaml
172
+ ---
173
+ name: code-reviewer
174
+ description: Expert code review specialist. Use after writing or modifying code.
175
+ model: inherit
176
+ tools: Read, Grep, Glob, Bash
177
+ disallowedTools: Write, Edit
178
+ permissionMode: default
179
+ ---
180
+
181
+ You are a senior code reviewer ensuring high standards of code quality.
182
+
183
+ When invoked:
184
+ 1. Run git diff to see recent changes
185
+ 2. Review modified files for:
186
+ - Code style consistency
187
+ - Potential bugs
188
+ - Performance issues
189
+ - Security concerns
190
+ 3. Provide actionable feedback
191
+ ```
192
+
193
+ ### Subagent hooks
194
+
195
+ Subagents can define their own hooks that only apply during subagent execution:
196
+
197
+ ```yaml
198
+ ---
199
+ name: safe-bash-runner
200
+ description: Run bash commands with validation
201
+ hooks:
202
+ PreToolUse:
203
+ - matcher: "Bash"
204
+ hooks:
205
+ - type: command
206
+ command: "./scripts/validate-command.sh"
207
+ ---
208
+ ```
209
+
210
+ See `frontmatter/agent-frontmatter.md` for the full YAML template.
211
+
212
+ ## Tools: built-in tools
213
+
214
+ Claude Code provides built-in tools directly by name (no qualification needed):
215
+
216
+ - `Read` — read file contents
217
+ - `Write` — create/overwrite files
218
+ - `Edit` — edit existing files
219
+ - `Bash` — execute shell commands
220
+ - `Glob` — find files by pattern
221
+ - `Grep` — search file contents
222
+ - `WebFetch` — fetch URL content
223
+ - `WebSearch` — web search
224
+ - `Task` — run subagents
225
+ - `TodoWrite` — manage task list
226
+ - `NotebookEdit` — edit Jupyter notebooks
227
+ - `AskUserQuestion` — ask user questions
228
+
229
+ ### MCP tools
230
+
231
+ MCP tools use the pattern: `mcp__<server>__<tool>`
232
+
233
+ For example: `mcp__filesystem__read_file`
234
+
235
+ See `tools-registry.json` for the full tool catalog with risk levels.
236
+
237
+ ## Differences from VS Code Copilot
238
+
239
+ | Aspect | VS Code Copilot | Claude Code |
240
+ |--------|-----------------|-------------|
241
+ | Instructions | `.github/copilot-instructions.md` | `CLAUDE.md`, `.claude/rules/*.md` |
242
+ | Agents | `.github/agents/*.agent.md` | `.claude/agents/*.md` |
243
+ | Prompts | `.github/prompts/*.prompt.md` | N/A (uses slash commands) |
244
+ | Skills | `.github/skills/<id>/SKILL.md` | N/A (uses MCP servers) |
245
+ | Settings | VS Code settings.json | `.claude/settings.json` |
246
+ | Tool syntax | `#tool` mentions, qualified names | Direct tool names |
247
+ | Extensions | MCP servers, extensions | MCP servers, hooks, plugins |
@@ -0,0 +1,98 @@
1
+ ```yaml
2
+ ---
3
+ # Custom subagent frontmatter for Claude Code
4
+ # Subagents are stored in .claude/agents/*.md
5
+
6
+ # Required: unique identifier (lowercase, hyphens only)
7
+ name: my-subagent
8
+
9
+ # Required: description that triggers this subagent
10
+ description: "What this subagent does and when to use it."
11
+
12
+ # Optional: AI model to use
13
+ # Options: sonnet, opus, haiku, inherit (default: sonnet)
14
+ model: inherit
15
+
16
+ # Optional: allowed tools (allowlist)
17
+ # Comma-separated tool names
18
+ tools: Read, Grep, Glob, Bash
19
+
20
+ # Optional: denied tools (denylist)
21
+ # Comma-separated tool names
22
+ disallowedTools: Write, Edit
23
+
24
+ # Optional: permission handling mode
25
+ # Options: default, acceptEdits, dontAsk, bypassPermissions, plan
26
+ permissionMode: default
27
+
28
+ # Optional: skills to inject
29
+ # Comma-separated skill names
30
+ skills: ""
31
+
32
+ # Optional: lifecycle hooks (only apply during subagent execution)
33
+ hooks:
34
+ PreToolUse:
35
+ - matcher: "Bash"
36
+ hooks:
37
+ - type: command
38
+ command: "./scripts/validate.sh"
39
+ ---
40
+ ```
41
+
42
+ Notes:
43
+ - Claude Code loads subagents from `.claude/agents/*.md` (project) and `~/.claude/agents/*.md` (user).
44
+ - Subagents are invoked via the `Task` tool when their description matches the request.
45
+ - The `name` field must be unique across all loaded subagents.
46
+ - Both `tools` (allowlist) and `disallowedTools` (denylist) can be used together.
47
+
48
+ Permission modes:
49
+
50
+ | Mode | Description |
51
+ |------|-------------|
52
+ | `default` | Normal permission prompts |
53
+ | `acceptEdits` | Auto-accept file edits |
54
+ | `dontAsk` | Minimal prompts |
55
+ | `bypassPermissions` | Skip all prompts (use with caution) |
56
+ | `plan` | Plan mode — research only, no edits |
57
+
58
+ Examples:
59
+
60
+ ```yaml
61
+ ---
62
+ # Read-only research agent
63
+ name: researcher
64
+ description: Research and explore the codebase without making changes
65
+ model: haiku
66
+ tools: Read, Grep, Glob, WebFetch, WebSearch
67
+ disallowedTools: Write, Edit, Bash
68
+ permissionMode: plan
69
+ ---
70
+ ```
71
+
72
+ ```yaml
73
+ ---
74
+ # Code reviewer with validation hooks
75
+ name: code-reviewer
76
+ description: Expert code review specialist for reviewing changes
77
+ model: inherit
78
+ tools: Read, Grep, Glob, Bash
79
+ disallowedTools: Write, Edit
80
+ hooks:
81
+ PreToolUse:
82
+ - matcher: "Bash"
83
+ hooks:
84
+ - type: command
85
+ command: "echo 'Running: $TOOL_INPUT'"
86
+ ---
87
+ ```
88
+
89
+ ```yaml
90
+ ---
91
+ # Test runner agent
92
+ name: test-runner
93
+ description: Run tests and report results
94
+ model: sonnet
95
+ tools: Bash, Read, Glob
96
+ permissionMode: acceptEdits
97
+ ---
98
+ ```
@@ -0,0 +1,47 @@
1
+ ```yaml
2
+ ---
3
+ # Path-scoped rules frontmatter for Claude Code
4
+ # Rules with paths: only apply when working with files matching these globs
5
+
6
+ paths:
7
+ - "src/**/*.ts"
8
+ - "src/**/*.tsx"
9
+ ---
10
+ ```
11
+
12
+ Notes:
13
+ - Claude Code loads rules from `.claude/rules/*.md`.
14
+ - Rules without `paths:` frontmatter apply globally.
15
+ - Rules with `paths:` frontmatter only apply when working with files matching those glob patterns.
16
+ - Multiple glob patterns can be specified as an array.
17
+ - Globs use standard glob syntax (e.g., `**` for recursive matching, `*` for single directory).
18
+
19
+ Examples:
20
+
21
+ ```yaml
22
+ ---
23
+ # Apply only to TypeScript files
24
+ paths:
25
+ - "**/*.ts"
26
+ - "**/*.tsx"
27
+ ---
28
+ ```
29
+
30
+ ```yaml
31
+ ---
32
+ # Apply only to test files
33
+ paths:
34
+ - "**/*.test.ts"
35
+ - "**/*.spec.ts"
36
+ - "tests/**/*"
37
+ ---
38
+ ```
39
+
40
+ ```yaml
41
+ ---
42
+ # Apply only to documentation
43
+ paths:
44
+ - "docs/**/*.md"
45
+ - "README.md"
46
+ ---
47
+ ```
@@ -0,0 +1,71 @@
1
+ {
2
+ "platformId": "claude-code",
3
+ "displayName": "Claude Code CLI",
4
+ "adapterVersion": "1.0.0",
5
+ "lastUpdated": "2026-01-20",
6
+ "docs": {
7
+ "memory": "https://docs.anthropic.com/en/docs/claude-code/memory",
8
+ "settings": "https://docs.anthropic.com/en/docs/claude-code/settings",
9
+ "hooks": "https://docs.anthropic.com/en/docs/claude-code/hooks",
10
+ "mcp": "https://docs.anthropic.com/en/docs/claude-code/mcp",
11
+ "tools": "https://docs.anthropic.com/en/docs/claude-code/cli-reference",
12
+ "subagents": "https://docs.anthropic.com/en/docs/claude-code/sub-agents"
13
+ },
14
+ "fileConventions": {
15
+ "instructions": [
16
+ "./CLAUDE.md",
17
+ "./.claude/CLAUDE.md",
18
+ "./.claude/rules/*.md",
19
+ "./CLAUDE.local.md",
20
+ "~/.claude/CLAUDE.md",
21
+ "~/.claude/rules/*.md"
22
+ ],
23
+ "settings": [
24
+ "./.claude/settings.json",
25
+ "./.claude/settings.local.json",
26
+ "~/.claude/settings.json"
27
+ ],
28
+ "mcp": [
29
+ "./.mcp.json"
30
+ ],
31
+ "agents": [
32
+ "./.claude/agents/*.md",
33
+ "~/.claude/agents/*.md"
34
+ ]
35
+ },
36
+ "hooks": {
37
+ "available": [
38
+ "PreToolUse",
39
+ "PostToolUse",
40
+ "PermissionRequest",
41
+ "Stop",
42
+ "SubagentStop",
43
+ "UserPromptSubmit",
44
+ "SessionStart",
45
+ "SessionEnd",
46
+ "PreCompact",
47
+ "Notification"
48
+ ],
49
+ "configLocation": ".claude/settings.json (hooks field)",
50
+ "docsUrl": "https://docs.anthropic.com/en/docs/claude-code/hooks"
51
+ },
52
+ "imports": {
53
+ "syntax": "@path",
54
+ "examples": [
55
+ "@README.md",
56
+ "@docs/guide.md",
57
+ "@~/.claude/shared-rules.md"
58
+ ]
59
+ },
60
+ "permissions": {
61
+ "configLocation": ".claude/settings.json (permissions field)",
62
+ "syntax": "Tool(specifier) with allow/deny/ask arrays",
63
+ "docsUrl": "https://docs.anthropic.com/en/docs/claude-code/settings"
64
+ },
65
+ "toolNaming": {
66
+ "style": "Tools are referenced by their exact names (e.g., Bash, Read, Edit).",
67
+ "mcpTools": "MCP tools use pattern: mcp__<server>__<tool>",
68
+ "qualification": "No qualification needed - tool names are global identifiers."
69
+ },
70
+ "notes": "Claude Code uses a hierarchical memory system with CLAUDE.md files. Custom subagents are defined in .claude/agents/*.md with YAML frontmatter."
71
+ }