fdeops 5.1.8 → 5.1.9
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.
- package/bin/generate-skills.js +9 -6
- package/bin/skill-catalog.js +2 -2
- package/bin/skill-ui.js +47 -0
- package/mcp/fdeops-ingest/package.json +1 -1
- package/package.json +1 -1
- package/plugin.json +1 -1
- package/skills/audit/.fde-generated.json +1 -0
- package/skills/audit/agents/openai.yaml +4 -0
- package/skills/board-memo/.fde-generated.json +1 -0
- package/skills/board-memo/agents/openai.yaml +4 -0
- package/skills/brief/.fde-generated.json +1 -0
- package/skills/brief/agents/openai.yaml +4 -0
- package/skills/build/.fde-generated.json +2 -1
- package/skills/build/SKILL.md +2 -2
- package/skills/build/agents/openai.yaml +4 -0
- package/skills/business-case/.fde-generated.json +1 -0
- package/skills/business-case/agents/openai.yaml +4 -0
- package/skills/connect/.fde-generated.json +1 -0
- package/skills/connect/agents/openai.yaml +4 -0
- package/skills/dashboard/.fde-generated.json +1 -0
- package/skills/dashboard/agents/openai.yaml +4 -0
- package/skills/debrief/.fde-generated.json +1 -0
- package/skills/debrief/agents/openai.yaml +4 -0
- package/skills/debug/.fde-generated.json +2 -1
- package/skills/debug/SKILL.md +2 -2
- package/skills/debug/agents/openai.yaml +4 -0
- package/skills/demo-prep/.fde-generated.json +1 -0
- package/skills/demo-prep/agents/openai.yaml +4 -0
- package/skills/discover/.fde-generated.json +1 -0
- package/skills/discover/agents/openai.yaml +4 -0
- package/skills/earn-trust/.fde-generated.json +1 -0
- package/skills/earn-trust/agents/openai.yaml +4 -0
- package/skills/evaluate/.fde-generated.json +1 -0
- package/skills/evaluate/agents/openai.yaml +4 -0
- package/skills/fde/agents/openai.yaml +4 -0
- package/skills/feedback/.fde-generated.json +1 -0
- package/skills/feedback/agents/openai.yaml +4 -0
- package/skills/handoff/.fde-generated.json +1 -0
- package/skills/handoff/agents/openai.yaml +4 -0
- package/skills/ingest/.fde-generated.json +1 -0
- package/skills/ingest/agents/openai.yaml +4 -0
- package/skills/integrate/.fde-generated.json +1 -0
- package/skills/integrate/agents/openai.yaml +4 -0
- package/skills/options/.fde-generated.json +1 -0
- package/skills/options/agents/openai.yaml +4 -0
- package/skills/plan/.fde-generated.json +1 -0
- package/skills/plan/agents/openai.yaml +4 -0
- package/skills/poc/.fde-generated.json +1 -0
- package/skills/poc/agents/openai.yaml +4 -0
- package/skills/prioritize/.fde-generated.json +1 -0
- package/skills/prioritize/agents/openai.yaml +4 -0
- package/skills/qa/.fde-generated.json +1 -0
- package/skills/qa/agents/openai.yaml +4 -0
- package/skills/readout/.fde-generated.json +1 -0
- package/skills/readout/agents/openai.yaml +4 -0
- package/skills/red-team/.fde-generated.json +1 -0
- package/skills/red-team/agents/openai.yaml +4 -0
- package/skills/rescue/.fde-generated.json +1 -0
- package/skills/rescue/agents/openai.yaml +4 -0
- package/skills/review/.fde-generated.json +1 -0
- package/skills/review/agents/openai.yaml +4 -0
- package/skills/rollback/.fde-generated.json +1 -0
- package/skills/rollback/agents/openai.yaml +4 -0
- package/skills/runbook/.fde-generated.json +1 -0
- package/skills/runbook/agents/openai.yaml +4 -0
- package/skills/scope/.fde-generated.json +1 -0
- package/skills/scope/agents/openai.yaml +4 -0
- package/skills/score-use-cases/.fde-generated.json +1 -0
- package/skills/score-use-cases/agents/openai.yaml +4 -0
- package/skills/ship/.fde-generated.json +1 -0
- package/skills/ship/agents/openai.yaml +4 -0
- package/skills/switch-clients/.fde-generated.json +1 -0
- package/skills/switch-clients/agents/openai.yaml +4 -0
- package/skills/test-assumptions/.fde-generated.json +1 -0
- package/skills/test-assumptions/agents/openai.yaml +4 -0
- package/skills/what-breaks/.fde-generated.json +1 -0
- package/skills/what-breaks/agents/openai.yaml +4 -0
- package/skills/who-decides/.fde-generated.json +1 -0
- package/skills/who-decides/agents/openai.yaml +4 -0
package/bin/generate-skills.js
CHANGED
|
@@ -4,6 +4,7 @@ const fs = require('node:fs')
|
|
|
4
4
|
const path = require('node:path')
|
|
5
5
|
const { createHash } = require('node:crypto')
|
|
6
6
|
const catalog = require('./skill-catalog')
|
|
7
|
+
const { interfaceYaml } = require('./skill-ui')
|
|
7
8
|
const root = path.resolve(__dirname, '..')
|
|
8
9
|
const source = path.join(root, 'skills/fde/references')
|
|
9
10
|
|
|
@@ -44,6 +45,8 @@ function entrypoint(item) {
|
|
|
44
45
|
}
|
|
45
46
|
function expectedFiles(item, referenceRoot = source) {
|
|
46
47
|
const files = new Map([['SKILL.md', entrypoint(item)]])
|
|
48
|
+
const ui = interfaceYaml(item.name, item.ui)
|
|
49
|
+
if (ui) files.set('agents/openai.yaml', ui)
|
|
47
50
|
for (const ref of referencesFor(item.method, referenceRoot)) files.set(`references/${ref}`, fs.readFileSync(path.join(referenceRoot, ref), 'utf8'))
|
|
48
51
|
return files
|
|
49
52
|
}
|
|
@@ -59,7 +62,7 @@ function walk(dir, prefix = '') {
|
|
|
59
62
|
const rel = prefix + e.name
|
|
60
63
|
if (e.isSymbolicLink() || (!e.isDirectory() && !e.isFile()) || (e.isFile() && fs.lstatSync(path.join(dir, e.name)).nlink > 1)) throw new Error(`Unsafe generated path: ${path.join(dir, e.name)}`)
|
|
61
64
|
if (e.isDirectory()) {
|
|
62
|
-
if (rel !== 'references') throw new Error(`Unowned generated directory: ${path.join(dir, e.name)}`)
|
|
65
|
+
if (rel !== 'references' && rel !== 'agents') throw new Error(`Unowned generated directory: ${path.join(dir, e.name)}`)
|
|
63
66
|
entries.push(...walk(path.join(dir, e.name), rel + '/'))
|
|
64
67
|
} else entries.push(rel)
|
|
65
68
|
}
|
|
@@ -103,7 +106,7 @@ function generate(check = false, options = {}) {
|
|
|
103
106
|
if (manifest.generator !== 'bin/generate-skills.js' || manifest.version !== 1 || !manifest.files || Array.isArray(manifest.files) || typeof manifest.files !== 'object') throw new Error(`Invalid ownership manifest: ${name}`)
|
|
104
107
|
owned = manifest.files
|
|
105
108
|
for (const [rel, hash] of Object.entries(owned)) {
|
|
106
|
-
if (!/^(?:SKILL\.md|references\/[a-z][a-z-]*\.md)$/.test(rel) || !/^[a-f0-9]{64}$/.test(hash)) throw new Error(`Invalid ownership entry: ${name}/${rel}`)
|
|
109
|
+
if (!/^(?:SKILL\.md|agents\/openai\.yaml|references\/[a-z][a-z-]*\.md)$/.test(rel) || !/^[a-f0-9]{64}$/.test(hash)) throw new Error(`Invalid ownership entry: ${name}/${rel}`)
|
|
107
110
|
}
|
|
108
111
|
} else {
|
|
109
112
|
// Migrate 4.1.0 packages conservatively: only the marked entry and exact
|
|
@@ -138,11 +141,11 @@ function generate(check = false, options = {}) {
|
|
|
138
141
|
fs.mkdirSync(path.dirname(path.join(dest, rel)), { recursive: true })
|
|
139
142
|
fs.writeFileSync(path.join(dest, rel), body)
|
|
140
143
|
}
|
|
141
|
-
|
|
142
|
-
const
|
|
143
|
-
if (stat(
|
|
144
|
-
fs.rmdirSync(dest)
|
|
144
|
+
for (const directory of ['references', 'agents']) {
|
|
145
|
+
const target = path.join(dest, directory)
|
|
146
|
+
if (stat(target)?.isDirectory() && fs.readdirSync(target).length === 0) fs.rmdirSync(target)
|
|
145
147
|
}
|
|
148
|
+
if (!output.size) fs.rmdirSync(dest)
|
|
146
149
|
}
|
|
147
150
|
}
|
|
148
151
|
module.exports = { referencesFor, expectedFiles, generate }
|
package/bin/skill-catalog.js
CHANGED
|
@@ -116,7 +116,7 @@ module.exports = [
|
|
|
116
116
|
{
|
|
117
117
|
"name": "build",
|
|
118
118
|
"method": "build",
|
|
119
|
-
"description": "Implement a scoped
|
|
119
|
+
"description": "Implement a scoped software change for a customer and verify its behavior. Use for delivery work with an understood outcome, not incident response.",
|
|
120
120
|
"group": "Build and verify",
|
|
121
121
|
"result": "An implemented change with verification evidence.",
|
|
122
122
|
"inputMode": "context"
|
|
@@ -132,7 +132,7 @@ module.exports = [
|
|
|
132
132
|
{
|
|
133
133
|
"name": "debug",
|
|
134
134
|
"method": "debug",
|
|
135
|
-
"description": "Investigate
|
|
135
|
+
"description": "Investigate a failure, regression or incorrect result in an integration or application, even before it can be reproduced. Use for diagnosis and repair; follow incident authority for live mitigation.",
|
|
136
136
|
"group": "Build and verify",
|
|
137
137
|
"result": "A diagnosed failure, repair and regression evidence.",
|
|
138
138
|
"inputMode": "context"
|
package/bin/skill-ui.js
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// Optional host UI metadata. Task routing and methods live in skill-catalog.js.
|
|
2
|
+
const entries = {
|
|
3
|
+
brief: ['Customer Brief', 'Clarify the outcome, constraints, and evidence', 'clarify this customer brief and its open questions'],
|
|
4
|
+
audit: ['Engagement Audit', 'Check inherited claims against delivery evidence', 'audit this inherited engagement and its risks'],
|
|
5
|
+
'who-decides': ['Who Decides', 'Map stakeholders and decision ownership', 'map the stakeholders and decision rights for this work'],
|
|
6
|
+
'earn-trust': ['Earn Trust', 'Plan credible next steps and appropriate access', 'plan how to earn trust and appropriate customer access'],
|
|
7
|
+
discover: ['Discover', 'Trace the workflow and identify the real problem', 'trace this customer workflow and identify evidence gaps'],
|
|
8
|
+
'test-assumptions': ['Test Assumptions', 'Find consequential assumptions and test them', 'identify and test the assumptions behind this proposal'],
|
|
9
|
+
'score-use-cases': ['Score Use Cases', 'Compare customer use cases and their trade-offs', 'compare these customer use cases using the available evidence'],
|
|
10
|
+
poc: ['Proof of Concept', 'Test a delivery uncertainty with a bounded pilot', 'design a bounded proof of concept for this uncertainty'],
|
|
11
|
+
scope: ['Scope', 'Assess new requests against agreed commitments', 'assess this request against the agreed scope'],
|
|
12
|
+
options: ['Delivery Options', 'Compare feasible approaches to a customer problem', 'compare feasible approaches and recommend a delivery path'],
|
|
13
|
+
plan: ['Delivery Plan', 'Sequence delivery into verifiable increments', 'turn this agreed outcome into a sequenced delivery plan'],
|
|
14
|
+
'business-case': ['Business Case', 'Connect investment decisions to costs and evidence', 'develop a business case with explicit assumptions'],
|
|
15
|
+
prioritize: ['Prioritize', 'Choose immediate priorities and explicit deferrals', 'choose the immediate priorities from this competing work'],
|
|
16
|
+
'red-team': ['Red Team', 'Challenge a plan with evidence and failure modes', 'stress-test this plan and identify corrective actions'],
|
|
17
|
+
build: ['Build', 'Implement and verify an agreed software change', 'implement this scoped change and verify the agreed behavior'],
|
|
18
|
+
integrate: ['Integrate', 'Prove system connections and failure handling', 'implement this integration and verify its downstream result'],
|
|
19
|
+
debug: ['Debug', 'Investigate failures and verify the repair', 'investigate this failure using the available evidence'],
|
|
20
|
+
review: ['Code Review', 'Review a change for delivery and operational risks', 'review this change against its outcome and operational risks'],
|
|
21
|
+
evaluate: ['Evaluate AI', 'Measure AI workflow behavior and failure modes', 'evaluate this AI workflow using representative cases'],
|
|
22
|
+
qa: ['Journey QA', 'Verify the real customer journey and its results', 'exercise the changed customer journey and report evidence'],
|
|
23
|
+
'what-breaks': ['What Breaks', 'Assess the blast radius before changing a system', 'assess the impact of this change on dependent systems'],
|
|
24
|
+
rollback: ['Rollback', 'Rehearse recovery and expose remaining gaps', 'prepare a recovery drill within the permitted environment'],
|
|
25
|
+
ship: ['Ship', 'Prepare a controlled release with recovery evidence', 'prepare this increment for an authorized release'],
|
|
26
|
+
readout: ['Sponsor Readout', 'Separate promises, measured results, and acceptance', 'prepare a sponsor readout from the delivery evidence'],
|
|
27
|
+
'demo-prep': ['Demo Prep', 'Rehearse an evidenced demo with a fallback', 'prepare a customer demo and its failure fallback'],
|
|
28
|
+
debrief: ['Meeting Debrief', 'Extract sourced decisions and next actions', 'turn these meeting notes into sourced decisions and actions'],
|
|
29
|
+
'board-memo': ['Board Memo', 'Draft an executive account of outcomes and risks', 'draft an executive memo from the engagement evidence'],
|
|
30
|
+
rescue: ['Rescue', 'Triage urgent delivery and engagement failures', 'triage this failing engagement and identify recovery steps'],
|
|
31
|
+
dashboard: ['Engagement Dashboard', 'Review status across existing engagement records', 'review the portfolio using available engagement records'],
|
|
32
|
+
'switch-clients': ['Switch Clients', 'Refresh customer context and triage competing needs', 'switch to the requested engagement and refresh its context'],
|
|
33
|
+
runbook: ['Operating Runbook', 'Document verified operations and recovery steps', 'draft an operating runbook from these verified procedures'],
|
|
34
|
+
handoff: ['Handoff', 'Transfer operation with evidence and clear ownership', 'prepare an operating handoff with evidence and ownership'],
|
|
35
|
+
feedback: ['Field Feedback', 'Assess field lessons for safe and useful reuse', 'assess this field lesson for reuse or product feedback'],
|
|
36
|
+
connect: ['Connect a Source', 'Check source setup and available host capabilities', 'check the requested source connection and available capabilities'],
|
|
37
|
+
ingest: ['Ingest Notes', 'Prepare sourced engagement updates for review', 'prepare sourced engagement updates from this requested material'],
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function interfaceYaml(name, fields = entries[name]) {
|
|
41
|
+
if (!fields) return null
|
|
42
|
+
const [displayName, shortDescription, prompt] = fields
|
|
43
|
+
if (typeof displayName !== 'string' || !displayName.trim() || typeof shortDescription !== 'string' || shortDescription.length < 25 || shortDescription.length > 64 || typeof prompt !== 'string' || !prompt.trim()) throw new Error(`Invalid skill UI metadata: ${name}`)
|
|
44
|
+
// JSON string literals are also YAML double-quoted scalars; no parser dependency.
|
|
45
|
+
return `interface:\n display_name: ${JSON.stringify(displayName)}\n short_description: ${JSON.stringify(shortDescription)}\n default_prompt: ${JSON.stringify(`Use $${name} to ${prompt}.`)}\n`
|
|
46
|
+
}
|
|
47
|
+
module.exports = { entries, interfaceYaml }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fdeops",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.9",
|
|
4
4
|
"description": "Forward deployed engineering skills for AI coding agents. Use focused task skills or @fde for discovery, implementation, verification and handoff, with local engagement records.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"fdeops": "bin/install.js",
|
package/plugin.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
|
|
3
3
|
"name": "fdeops",
|
|
4
|
-
"version": "5.1.
|
|
4
|
+
"version": "5.1.9",
|
|
5
5
|
"description": "Forward deployed engineering skills for AI coding agents. Use focused task skills or @fde for discovery, implementation, verification and handoff, with local engagement records.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Subash Natarajan",
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "b0dee139ba4f681a61eb0c3d8c802f06857502fd479843edb8e3b8cb27229ae5",
|
|
6
|
+
"agents/openai.yaml": "3b08e2e6a4149545da08238463955501bc60b7bf628cf4e344e893330590bbde",
|
|
6
7
|
"references/audit.md": "ed32ea78cbccb100742dd838e8cf4cd4b6f33ad44b3de7424fc624670d571dbc",
|
|
7
8
|
"references/discover.md": "f65aa11a539b4dbbed70cfaa94ec2a35595aa9a2d0282790510b933ac9c721ce",
|
|
8
9
|
"references/task-context.md": "9066514a50043f3ad888d133d4e8b89b7132551e098cf2c80203c458a80126e5"
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "5782488d9878335cdc1db68c08eccd613486370164284ff11d93422eced6423a",
|
|
6
|
+
"agents/openai.yaml": "a3ce2dc79d3732da6c9aa2d45d09541c09c8f7bdf44f34c6603b5dbaf8624095",
|
|
6
7
|
"references/board-memo.md": "44eb3c27f164da63af694591025b3fc96bb23d149c29de400997c1653e3322f8",
|
|
7
8
|
"references/business-case.md": "32e000e8351cd59f9eaad8be40babb276df69948ea4f81e01a4672e47f48cb25",
|
|
8
9
|
"references/task-context.md": "9066514a50043f3ad888d133d4e8b89b7132551e098cf2c80203c458a80126e5"
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "5d88b9818951f8a8a44c39ad2b36ccdca74fef5e6ed31e67788b50d3ca1bb006",
|
|
6
|
+
"agents/openai.yaml": "8dc0b43545004419bad49e1d50cd3beb968bbcc24baacdaf7fb7304a5fd03bba",
|
|
6
7
|
"references/land.md": "7a82ac999d23b51b602cd815777a853c4879ca8be40dc6c84c66f154d1f77951",
|
|
7
8
|
"references/task-context.md": "9066514a50043f3ad888d133d4e8b89b7132551e098cf2c80203c458a80126e5"
|
|
8
9
|
}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
"generator": "bin/generate-skills.js",
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
|
-
"SKILL.md": "
|
|
5
|
+
"SKILL.md": "77570e69b8d708d60cd6ab1dcc79c95a75824ab668f60a83a0dedbe668de2a70",
|
|
6
|
+
"agents/openai.yaml": "abd0a33ab4efa25ea038932d37eae2faa2527baa96ebae8732ea90f1ebc3865e",
|
|
6
7
|
"references/build.md": "03c52eda90642c62053b53ef1e85c97b4e647600f454aee9da0e415c9d98903e",
|
|
7
8
|
"references/debug.md": "3273a921a98522431ae821a283814897270c719cbfab83d14b99175537d869e5",
|
|
8
9
|
"references/eval-pack.md": "0590b85d3cae0903c6b1274540c92eaa2a4373047e8a0548d6942516ef0bb9e1",
|
package/skills/build/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: build
|
|
3
|
-
description: Implement a scoped
|
|
3
|
+
description: Implement a scoped software change for a customer and verify its behavior. Use for delivery work with an understood outcome, not incident response.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# build
|
|
@@ -9,7 +9,7 @@ description: Implement a scoped customer-facing software change in the existing
|
|
|
9
9
|
|
|
10
10
|
## Purpose
|
|
11
11
|
|
|
12
|
-
Implement a scoped
|
|
12
|
+
Implement a scoped software change for a customer and verify its behavior. Use for delivery work with an understood outcome, not incident response.
|
|
13
13
|
|
|
14
14
|
Before investigating or acting:
|
|
15
15
|
1. Read [the task context contract](references/task-context.md).
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "1105f7e78b5e73e54aafb8150e03be8c3ccd3443bc3ae667555763a839c1abe4",
|
|
6
|
+
"agents/openai.yaml": "dd2676346caea1b53ae2bee6662aea064eea74c8ca6edf721382526f5fc42ef5",
|
|
6
7
|
"references/business-case.md": "32e000e8351cd59f9eaad8be40babb276df69948ea4f81e01a4672e47f48cb25",
|
|
7
8
|
"references/task-context.md": "9066514a50043f3ad888d133d4e8b89b7132551e098cf2c80203c458a80126e5"
|
|
8
9
|
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "1bfb43ee4b7d5633d8ce996d4ce3c12a75df09e9bb8457ab35597f48f85b2beb",
|
|
6
|
+
"agents/openai.yaml": "6be7812fcf2f56c9fc52b3fd0f0899e3a93a7ee482a901c48b6422e71f326fed",
|
|
6
7
|
"references/connect.md": "37ad703ece7fe3596be4d5d3697cc4ba5e6062615f9576733c20d055fc3e4927",
|
|
7
8
|
"references/debrief.md": "2d2db9a177f5341a9a2721a9d6ea32a6d07e7e982e621429ca408a38bc5617c1",
|
|
8
9
|
"references/ingest.md": "24880bc3d95cda09ec6c2f5edebd17fba99deb912f93e15c8b715a287283da84",
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "e06df3f2da2586c14e12f2599091231083c0a2f43af70b427c0ab307641610a3",
|
|
6
|
+
"agents/openai.yaml": "abbfc923f66cea302d6fb06b02ff5d2a9f9faa24f30904344785abab1e627999",
|
|
6
7
|
"references/dashboard.md": "dd842c17a2689a6017fecf34a6a24ee5cd40f504af4397eaeb2493ef4ffceda0",
|
|
7
8
|
"references/task-context.md": "9066514a50043f3ad888d133d4e8b89b7132551e098cf2c80203c458a80126e5"
|
|
8
9
|
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "f17036d3f4494abf5505a408d23d2b6fb5e7b34e2bc1217eb5f3603fcef1e5e5",
|
|
6
|
+
"agents/openai.yaml": "b56f5462c41c09ff1ff3022ed13ebf43749bee3c0578e32d5853d2580998939c",
|
|
6
7
|
"references/connect.md": "37ad703ece7fe3596be4d5d3697cc4ba5e6062615f9576733c20d055fc3e4927",
|
|
7
8
|
"references/debrief.md": "2d2db9a177f5341a9a2721a9d6ea32a6d07e7e982e621429ca408a38bc5617c1",
|
|
8
9
|
"references/ingest.md": "24880bc3d95cda09ec6c2f5edebd17fba99deb912f93e15c8b715a287283da84",
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
"generator": "bin/generate-skills.js",
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
|
-
"SKILL.md": "
|
|
5
|
+
"SKILL.md": "00b6f8c7c56be7a665f9401c58319fc4cd344e1c865d88021c116d94149a4a35",
|
|
6
|
+
"agents/openai.yaml": "f9178e65a1e2e9ee27f2f5917a36a50e3ebe64bd6e331b43379efcf1c7d5aac3",
|
|
6
7
|
"references/build.md": "03c52eda90642c62053b53ef1e85c97b4e647600f454aee9da0e415c9d98903e",
|
|
7
8
|
"references/debug.md": "3273a921a98522431ae821a283814897270c719cbfab83d14b99175537d869e5",
|
|
8
9
|
"references/eval-pack.md": "0590b85d3cae0903c6b1274540c92eaa2a4373047e8a0548d6942516ef0bb9e1",
|
package/skills/debug/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: debug
|
|
3
|
-
description: Investigate
|
|
3
|
+
description: Investigate a failure, regression or incorrect result in an integration or application, even before it can be reproduced. Use for diagnosis and repair; follow incident authority for live mitigation.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# debug
|
|
@@ -9,7 +9,7 @@ description: Investigate and repair a reproducible failure in a customer integra
|
|
|
9
9
|
|
|
10
10
|
## Purpose
|
|
11
11
|
|
|
12
|
-
Investigate
|
|
12
|
+
Investigate a failure, regression or incorrect result in an integration or application, even before it can be reproduced. Use for diagnosis and repair; follow incident authority for live mitigation.
|
|
13
13
|
|
|
14
14
|
Before investigating or acting:
|
|
15
15
|
1. Read [the task context contract](references/task-context.md).
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "a9c477a1f2f2d44ba1893ea1299c3b30f07c772064b8c28d5bb31d87f032ef67",
|
|
6
|
+
"agents/openai.yaml": "14df03f4ac1652773b277fbe8e9c501f253dbe550b29f4df1ec0e15a9b6eb6aa",
|
|
6
7
|
"references/demo-prep.md": "2166d4104c8da995ea1dbdf27e36fe288a83c6e18ff1de2650fb0eec769ec84f",
|
|
7
8
|
"references/task-context.md": "9066514a50043f3ad888d133d4e8b89b7132551e098cf2c80203c458a80126e5"
|
|
8
9
|
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "bed4347f467126b6aafd035b2e91c05f37ae3fe5ef6dc9fc2b1a313fce4ccd8d",
|
|
6
|
+
"agents/openai.yaml": "77306e5aa72884b8c06afe91ae4991910bf3ad38a72375c2fc5251fc7744789a",
|
|
6
7
|
"references/audit.md": "ed32ea78cbccb100742dd838e8cf4cd4b6f33ad44b3de7424fc624670d571dbc",
|
|
7
8
|
"references/discover.md": "f65aa11a539b4dbbed70cfaa94ec2a35595aa9a2d0282790510b933ac9c721ce",
|
|
8
9
|
"references/task-context.md": "9066514a50043f3ad888d133d4e8b89b7132551e098cf2c80203c458a80126e5"
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "a739454cd58e6beba57877e8b1c0d888d1068617b63959014c7b142fd12d68c3",
|
|
6
|
+
"agents/openai.yaml": "3157721445a01f3f840106c23f775305155946669cf44d056e5eb4641f47a84d",
|
|
6
7
|
"references/earn-trust.md": "ec31c339a39d9a7f3855ff77478684bc1d6cae473362489456f0c17b64c33399",
|
|
7
8
|
"references/task-context.md": "9066514a50043f3ad888d133d4e8b89b7132551e098cf2c80203c458a80126e5"
|
|
8
9
|
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "396110a1cb9a555b4096ef77bf45e531b60d78b18bd617c654f19c8e07506ce1",
|
|
6
|
+
"agents/openai.yaml": "731f3c81d46444af542369f0aa27736d24530d00fc1aa717436ddefe3f3bdef7",
|
|
6
7
|
"references/build.md": "03c52eda90642c62053b53ef1e85c97b4e647600f454aee9da0e415c9d98903e",
|
|
7
8
|
"references/debug.md": "3273a921a98522431ae821a283814897270c719cbfab83d14b99175537d869e5",
|
|
8
9
|
"references/eval-pack.md": "0590b85d3cae0903c6b1274540c92eaa2a4373047e8a0548d6942516ef0bb9e1",
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "7d49a9e89736e35c2aaf10c78b10be365bdf91af1aaf99430de6069e96069d55",
|
|
6
|
+
"agents/openai.yaml": "6b8d024e9ea9676a2607b76a6f1fcd2fbcba585af2990b1172dbdb8cec0364c6",
|
|
6
7
|
"references/encode-pattern.md": "3be7bf9d0f69af31659423c54d6023a4af1556e2ce200fb025bf64d0757de4d8",
|
|
7
8
|
"references/task-context.md": "9066514a50043f3ad888d133d4e8b89b7132551e098cf2c80203c458a80126e5"
|
|
8
9
|
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "c4ac99ee1517c0674e5324b289521116c58a9e0ac3de22c229be8da83438f4db",
|
|
6
|
+
"agents/openai.yaml": "93ac049cf1a9d0fdfdf67d34ca6d3dd33800e91334f38bb303828eab8c4b3aaf",
|
|
6
7
|
"references/close.md": "b3dbc1ecef12ee1c9d298e32a21d87ce61c9f6c88039d7a8b19970c6e3f21254",
|
|
7
8
|
"references/encode-pattern.md": "3be7bf9d0f69af31659423c54d6023a4af1556e2ce200fb025bf64d0757de4d8",
|
|
8
9
|
"references/task-context.md": "9066514a50043f3ad888d133d4e8b89b7132551e098cf2c80203c458a80126e5"
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "631bdeb6ec45d8844f59519f9d3cca89c24e65c51721eb0a67f32fc5cfc979a2",
|
|
6
|
+
"agents/openai.yaml": "224565b9305f0dbd5c32136c6de71d637c471d46e108977ff6de9f328024ccd5",
|
|
6
7
|
"references/connect.md": "37ad703ece7fe3596be4d5d3697cc4ba5e6062615f9576733c20d055fc3e4927",
|
|
7
8
|
"references/debrief.md": "2d2db9a177f5341a9a2721a9d6ea32a6d07e7e982e621429ca408a38bc5617c1",
|
|
8
9
|
"references/ingest.md": "24880bc3d95cda09ec6c2f5edebd17fba99deb912f93e15c8b715a287283da84",
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "63cc6cef59cadd45b36a080ac97f1d0bc8e777b12f39a9a6f62b63dfb5029b2d",
|
|
6
|
+
"agents/openai.yaml": "20f8c8f7ab4bc2730260052e378a86c062b503a3ba26fd4b7a37559756b0f756",
|
|
6
7
|
"references/build.md": "03c52eda90642c62053b53ef1e85c97b4e647600f454aee9da0e415c9d98903e",
|
|
7
8
|
"references/debug.md": "3273a921a98522431ae821a283814897270c719cbfab83d14b99175537d869e5",
|
|
8
9
|
"references/eval-pack.md": "0590b85d3cae0903c6b1274540c92eaa2a4373047e8a0548d6942516ef0bb9e1",
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "0c51c5421875b17c66c4fdb03a33e3705da52a0c649dd138c4c4cd3f3c92292a",
|
|
6
|
+
"agents/openai.yaml": "ff5da2d5215943e5c4e2a1339c11101035ed2741ded38e443af5180239e2a24b",
|
|
6
7
|
"references/business-case.md": "32e000e8351cd59f9eaad8be40babb276df69948ea4f81e01a4672e47f48cb25",
|
|
7
8
|
"references/task-context.md": "9066514a50043f3ad888d133d4e8b89b7132551e098cf2c80203c458a80126e5",
|
|
8
9
|
"references/test-assumptions.md": "bf60d8bb4c0701fcffb196d78f7f6c8b1c472fc877fb2caf41058fbf8e2415a1",
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "88254d8bc2f58f4fcdd610dd7c111854dccf3ef488cfae85a4f81e90e25d1c96",
|
|
6
|
+
"agents/openai.yaml": "09f79a8a6f59741be07ae42adb9187ef790c1c4dd0341adc22ca70cd043e9ac1",
|
|
6
7
|
"references/business-case.md": "32e000e8351cd59f9eaad8be40babb276df69948ea4f81e01a4672e47f48cb25",
|
|
7
8
|
"references/plan.md": "6c37976169723f93d3554092979569a9640bcf02bd179bad52b17815c1c30f86",
|
|
8
9
|
"references/task-context.md": "9066514a50043f3ad888d133d4e8b89b7132551e098cf2c80203c458a80126e5"
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "f72f8cf960aa85150f85e316bca0f306e3e57c140ed9f49ed9fa04dd0671662f",
|
|
6
|
+
"agents/openai.yaml": "d5b07161e8fd27eae7af233da4b872719cf723696cbb30614909bcbf6550bbf3",
|
|
6
7
|
"references/audit.md": "ed32ea78cbccb100742dd838e8cf4cd4b6f33ad44b3de7424fc624670d571dbc",
|
|
7
8
|
"references/build.md": "03c52eda90642c62053b53ef1e85c97b4e647600f454aee9da0e415c9d98903e",
|
|
8
9
|
"references/business-case.md": "32e000e8351cd59f9eaad8be40babb276df69948ea4f81e01a4672e47f48cb25",
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "07e8a3b485762e6b6897472fe4c934cb63ed0240d8258761be445729714d782d",
|
|
6
|
+
"agents/openai.yaml": "3cfc01668b1bc6ec42d429e9730c68fd01520a7d15ea4289dee265e16bcd6b55",
|
|
6
7
|
"references/business-case.md": "32e000e8351cd59f9eaad8be40babb276df69948ea4f81e01a4672e47f48cb25",
|
|
7
8
|
"references/pick-three.md": "fa5a5f6db94c72c5a1c6419276d0f7c13ff3067ce075a074af020f736fe3fad8",
|
|
8
9
|
"references/task-context.md": "9066514a50043f3ad888d133d4e8b89b7132551e098cf2c80203c458a80126e5"
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "ee9d9ccd8b1ccb982e390530bc193d446a6fdb3a1d630276d6dcd00cf9033948",
|
|
6
|
+
"agents/openai.yaml": "6c551dbdb5f0d27f908cc6de580a5f0a840dca1e01e1d3feaedd81bd349d8dc9",
|
|
6
7
|
"references/build.md": "03c52eda90642c62053b53ef1e85c97b4e647600f454aee9da0e415c9d98903e",
|
|
7
8
|
"references/debug.md": "3273a921a98522431ae821a283814897270c719cbfab83d14b99175537d869e5",
|
|
8
9
|
"references/eval-pack.md": "0590b85d3cae0903c6b1274540c92eaa2a4373047e8a0548d6942516ef0bb9e1",
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "366e5a14a640459b9e17150e7193a470d5537e03d1cc18f35afda1b8918329ba",
|
|
6
|
+
"agents/openai.yaml": "7eed15e7cb50ba726c666313381bb4e108b36f2285dcfdff5a248c6dbcb98b8b",
|
|
6
7
|
"references/board-memo.md": "44eb3c27f164da63af694591025b3fc96bb23d149c29de400997c1653e3322f8",
|
|
7
8
|
"references/business-case.md": "32e000e8351cd59f9eaad8be40babb276df69948ea4f81e01a4672e47f48cb25",
|
|
8
9
|
"references/readout.md": "46856e9452ef3928a394fc89425bf4b9ba912f5586584537345a10f6c3a20903",
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "e406016f3cf7b715084bde0081bec03706a695e6272ada2e51ff3cb9d5194de5",
|
|
6
|
+
"agents/openai.yaml": "c6cac62d94f5294f981de12539dca0a8aa601cea3357fedd94083f4fd1cb0d48",
|
|
6
7
|
"references/red-team.md": "31aaa96f2bac337daa8fc8abf1ddbef745d7ab7a8b77776d2fbb2dd59f4782ce",
|
|
7
8
|
"references/task-context.md": "9066514a50043f3ad888d133d4e8b89b7132551e098cf2c80203c458a80126e5"
|
|
8
9
|
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "de58cdfb46219c71c85b4e940bffe0e52d8511f4dede803d0efe1bf46aa5ac5c",
|
|
6
|
+
"agents/openai.yaml": "d88d5433332c8269c8342589bc88ef9df7b0f7b0224e4b8ee5a00bc5d96f5e2e",
|
|
6
7
|
"references/rescue.md": "3af07633b82dc1022bafc86173f6c55da81501317e25c9ac8980cfcb04b27df3",
|
|
7
8
|
"references/task-context.md": "9066514a50043f3ad888d133d4e8b89b7132551e098cf2c80203c458a80126e5"
|
|
8
9
|
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "5a03a3842983d32da658da2e36466f64ad2474af2b189f71e596c586e91bc502",
|
|
6
|
+
"agents/openai.yaml": "d928b571b9ebbb29ea8acd2e38769087288e2500f0ce9ab7f20f3f57a0e3d8d2",
|
|
6
7
|
"references/build.md": "03c52eda90642c62053b53ef1e85c97b4e647600f454aee9da0e415c9d98903e",
|
|
7
8
|
"references/debug.md": "3273a921a98522431ae821a283814897270c719cbfab83d14b99175537d869e5",
|
|
8
9
|
"references/eval-pack.md": "0590b85d3cae0903c6b1274540c92eaa2a4373047e8a0548d6942516ef0bb9e1",
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "19645edc8853a4b1ca7f3dacbf48ed553d7f630939c81c9254c00808fdebedc8",
|
|
6
|
+
"agents/openai.yaml": "d8fa5d46f05dd1501993f40b0c8e205f061c5b4de754046d9059cb0c3d8c88f9",
|
|
6
7
|
"references/rollback.md": "cdde85caeb8e556825d0c3a156cd16d6e41550931984429e4978486ee91854cd",
|
|
7
8
|
"references/task-context.md": "9066514a50043f3ad888d133d4e8b89b7132551e098cf2c80203c458a80126e5"
|
|
8
9
|
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "36843356c2e89e2a9205a4edf47afb8fd489d2f719c72241e3fdc3209829d2d8",
|
|
6
|
+
"agents/openai.yaml": "53922bbe55ba23dc812c9bef311fbef238e2e25252100bdac7a8bd4f6c5e2780",
|
|
6
7
|
"references/close.md": "b3dbc1ecef12ee1c9d298e32a21d87ce61c9f6c88039d7a8b19970c6e3f21254",
|
|
7
8
|
"references/encode-pattern.md": "3be7bf9d0f69af31659423c54d6023a4af1556e2ce200fb025bf64d0757de4d8",
|
|
8
9
|
"references/runbook.md": "d32a40113941c603b97f09eabfd0e25afd25129102c6b07fa91a04fb4f8e93e7",
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "544424180d2e924e21e98e94c1d6a35c067176ff9876f6c11415638e041f89f5",
|
|
6
|
+
"agents/openai.yaml": "22b669e628e4401c6b042d17fca25f0259593d90a581e232816c140e788306ec",
|
|
6
7
|
"references/hold-scope.md": "7779188df1d7f5aef9f878719499f9c0e974deba45289329ae8fa3d62e6c5090",
|
|
7
8
|
"references/task-context.md": "9066514a50043f3ad888d133d4e8b89b7132551e098cf2c80203c458a80126e5"
|
|
8
9
|
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "d3abc46b68361f6d808191b50183d41eec65eac31cba5d53ef1e22a2ccd7b32f",
|
|
6
|
+
"agents/openai.yaml": "8f4af12758edb1a4648bb7917ef4c52eb4eb209a3917ae3e04904cdd5fd4dec0",
|
|
6
7
|
"references/business-case.md": "32e000e8351cd59f9eaad8be40babb276df69948ea4f81e01a4672e47f48cb25",
|
|
7
8
|
"references/score-use-cases.md": "bb304cf2de26a2df0b9f2a299e3a6b2760ebce15b8b523d9cb4a584cc26038f8",
|
|
8
9
|
"references/task-context.md": "9066514a50043f3ad888d133d4e8b89b7132551e098cf2c80203c458a80126e5"
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "545fa51462ad174899b9a2007daf61f1a56c65d0d514292a1951569d1657912a",
|
|
6
|
+
"agents/openai.yaml": "f114bfdaf8ae71139fe5903965187dca326edb015c709a8e9d74ddd771ac8a6f",
|
|
6
7
|
"references/build.md": "03c52eda90642c62053b53ef1e85c97b4e647600f454aee9da0e415c9d98903e",
|
|
7
8
|
"references/debug.md": "3273a921a98522431ae821a283814897270c719cbfab83d14b99175537d869e5",
|
|
8
9
|
"references/eval-pack.md": "0590b85d3cae0903c6b1274540c92eaa2a4373047e8a0548d6942516ef0bb9e1",
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "ebfebe6e5872800c749659aec45af48b2287db2e72c0b914118482e4c73334b5",
|
|
6
|
+
"agents/openai.yaml": "67ecd37a1e5bd57986d800a782aeff8d00171d6d09794b6026d8daf1e2d91e6f",
|
|
6
7
|
"references/switch-clients.md": "4e8cb763db871b38fece3adaf9d1ac3b995c21dd1d0e463903eaa3854332c389",
|
|
7
8
|
"references/task-context.md": "9066514a50043f3ad888d133d4e8b89b7132551e098cf2c80203c458a80126e5"
|
|
8
9
|
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "acba10ec77763f1840c3cda95b26e13150683f6a7557a84a93611f2d96cdd389",
|
|
6
|
+
"agents/openai.yaml": "c67e0342caba79241b1872cdfda8341f4949c2bd7672b8d288b529d8e94342b8",
|
|
6
7
|
"references/task-context.md": "9066514a50043f3ad888d133d4e8b89b7132551e098cf2c80203c458a80126e5",
|
|
7
8
|
"references/test-assumptions.md": "bf60d8bb4c0701fcffb196d78f7f6c8b1c472fc877fb2caf41058fbf8e2415a1"
|
|
8
9
|
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "cacffe6b01d36cde634be5e7f8a2127d701d3dac90b3000c414a648956839c5e",
|
|
6
|
+
"agents/openai.yaml": "6c4b97d3268698d1eed0b628f9872351f29b91dd47c9de371a12c584983cb0fe",
|
|
6
7
|
"references/task-context.md": "9066514a50043f3ad888d133d4e8b89b7132551e098cf2c80203c458a80126e5",
|
|
7
8
|
"references/what-breaks.md": "bc7f7b0d0dbaa4df520b263f0877474722ab223aac4cd6fd84b5112d9868715d"
|
|
8
9
|
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"files": {
|
|
5
5
|
"SKILL.md": "f5c97755bdeb42cd18dbc1fc79f1d311521efe99fb599d4ebd72b21b6d1dee74",
|
|
6
|
+
"agents/openai.yaml": "fee09f0f2cc7d0c07a1aefa592e10f046abb8951f157ca3336a6233edd3a61ea",
|
|
6
7
|
"references/task-context.md": "9066514a50043f3ad888d133d4e8b89b7132551e098cf2c80203c458a80126e5",
|
|
7
8
|
"references/who-decides.md": "fa1f65d921943e76f42284570004a603488905417d96b4bd52dc6c4a11dd5a97"
|
|
8
9
|
}
|